package richInputs.view;

import java.util.Calendar;
import java.util.Date;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.validation.constraints.AssertTrue;

import org.apache.commons.lang3.time.DateUtils;

@ManagedBean
@ViewScoped
public class CalendarBean {
	private Date fecha;

	private Date fechaInicio;
	private Date fechaFin;
	
	public CalendarBean(){
		fecha = new Date();
		setFechaInicio(new Date());
		setFechaFin(new Date());
	}
	
	@AssertTrue(message="La fecha inicial debe ser menor o igual a la fecha final")
	public boolean isValidRangeDate(){
		int comp = DateUtils.truncatedCompareTo(
				fechaInicio, 
				fechaFin, 
				Calendar.DAY_OF_MONTH);
		return comp <= 0;
	}
	
	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public Date getFechaInicio() {
		return fechaInicio;
	}

	public void setFechaInicio(Date fechaInicio) {
		this.fechaInicio = fechaInicio;
	}

	public Date getFechaFin() {
		return fechaFin;
	}

	public void setFechaFin(Date fechaFin) {
		this.fechaFin = fechaFin;
	}
}
